package com.property.cleaning.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.property.cleaning.common.Result;
import com.property.cleaning.entity.User;

/**
 * 用户服务接口
 * 
 * @author Property Cleaning System
 */
public interface UserService {

    /**
     * 用户登录
     */
    Result<String> login(String username, String password);

    /**
     * 用户注册
     */
    Result<User> register(User user);

    /**
     * 获取用户信息
     */
    Result<User> getUserInfo(Long userId);

    /**
     * 分页查询用户列表
     */
    Result<IPage<User>> getUserPage(Page<User> page, String keyword, Integer status);

    /**
     * 更新用户信息
     */
    Result<User> updateUser(User user);

    /**
     * 删除用户
     */
    Result<Void> deleteUser(Long userId);

    /**
     * 修改密码
     */
    Result<Void> changePassword(Long userId, String oldPassword, String newPassword);

    /**
     * 重置密码
     */
    Result<Void> resetPassword(Long userId, String newPassword);
}